package 在cn.itcast.quartz.job;

import cn.itcast.quartz.demo.HelloJob;
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;

/**
 * Created by Think on 2017/9/25.
 */
public class Demo2Simple {
    public static void main(String[] args) throws Exception {
        // 第一步：从任务调度的工厂中获取任务调度的实例对象
        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
        // 第二步：加载任务调度的对象（类）
        JobDetail job = JobBuilder.newJob(HelloJob.class)
                .withIdentity("job1", "group1")
                .build();
        // 第三步：定义一个触发器（SimpleTrigger），去执行任务调度
        // SimpleTrigger表示频率触发器，每隔多长时间去执行任务
        Trigger trigger = TriggerBuilder.newTrigger()
                .withIdentity("trigger1", "group1")
                .startNow()// 表示当前时间开始
                .withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(5))//每隔5秒中执行Job
                .build();
        // 第四步：建立任务和触发器之间关联
        scheduler.scheduleJob(job, trigger);
        // 开启任务调度
        scheduler.start();
        // 一直执行任务

        // 如果任务调度不想让它执行了，结束任务调度
        // scheduler.shutdown();
    }
}
